package co.yixiang.yshop.module.tables.dal.dataobject.table;

import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import co.yixiang.yshop.framework.mybatis.core.dataobject.BaseDO;

/**
 * 餐桌 DO
 *
 * @author yshop
 */
@TableName("table_info")
@KeySequence("table_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TableInfoDO extends BaseDO {

    /**
     * 餐桌唯一标识符
     */
    @TableId
    private Integer id;
    /**
     * 餐桌编号或名称
     */
    private String tableName;
    /**
     * 餐桌类型 (1:普通桌, 2:包厢, 3:吧台)
     *
     * 枚举 {@link TODO table_info_table_type 对应的类}
     */
    private String tableType;
    /**
     * 餐桌最大容纳人数
     */
    private Short tableCapacity;
    /**
     * 餐桌所在位置描述（如楼层、区域、具体坐标等）
     */
    private String tableLocation;
    /**
     * 状态 (1:空闲, 2:已预订, 3:正在使用)
     *
     * 枚举 {@link TODO table_info_table_status 对应的类}
     */
    private String tableStatus;
    /**
     * 当前有效的点餐二维码（或其ID）
     */
    private String activeQrcode;
    /**
     * 关联的预订记录ID（如有预订）
     */
    private Integer reservationId;
    /**
     * 备注信息（如特殊要求、临时关闭原因等）
     */
    private String tableNotes;

}
